package com.allwees.bs.module.scm.service;

import com.allwees.bs.module.base.service.BoService;
import com.allwees.bs.module.oms.constant.EShippingType;
import com.allwees.bs.module.scm.entity.ScmAllocateOrderSku;
import com.allwees.bs.module.scm.entity.ScmPickOrderSku;
import com.allwees.bs.module.scm.req.PickOrderSkuBackToAllocateReq;
import com.allwees.bs.module.scm.req.PickOrderSkuShippingReq;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;

public interface ScmPickOrderSkuService extends BoService<ScmPickOrderSku>, MarkService<ScmPickOrderSku> {

    /**
     * 生成
     *
     * @return
     */
    boolean create(List<ScmAllocateOrderSku> allocateOrderSkus);

    /**
     * 退回
     *
     * @return
     */
    int backToAllocate(PickOrderSkuBackToAllocateReq req);

    /**
     * 发货
     *
     * @return
     */
    @Transactional
    void shipping(EShippingType shippingType, PickOrderSkuShippingReq req);
}
